﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace RAMED
{
    public partial class RechercherImpotésForm : Form
    {
        private List<Importés> ImportésRecherches = new List<Importés>();
     

        public RechercherImpotésForm()
        {
            InitializeComponent(); 
            RAMEDEntities1 context =  SingletonContext.GetContext();
            comboBoxExp.DataSource = context.Expéditeur;
            comboBoxExp.DisplayMember = "Nom_Expéditeur";
            comboBoxExp.SelectedItem = null;
           
        }

        private void RechercherBtn_Click(object sender, EventArgs e)
        {
            RAMEDEntities1 context = SingletonContext.GetContext();
            List<Importés> lesimportés = new List<Importés>();
            lesimportés = context.Importés.ToList<Importés>();

          
            if (!txtnombre.Text.Trim().Equals(""))
            {

                Importés imp= new Importés();
                int numeromessgae = utitlitaire.CasterString(txtnombre.Text);
                lesimportés = lesimportés.Where(p => p.Num_message == numeromessgae).ToList<Importés>();

            }

            if (!txtnum.Text.Trim().Equals(""))
            {

                Importés imp = new Importés();
                int numeroenregistre = utitlitaire.CasterString(txtnum.Text);
                lesimportés = lesimportés.Where(p => p.Num_enregistre == numeroenregistre).ToList<Importés>();

            }
            if (checkBoxdatenvo.Checked)
            {
                lesimportés = lesimportés.Where(p => p.Date_envoi.Value.Date == dateTimePickerdateenv.Value.Date).ToList<Importés>();
            }
            if (checkBoxdaterec.Checked)
            {
                lesimportés = lesimportés.Where(p => p.Date_réception.Value.Date == dateTimePickerrec.Value.Date).ToList<Importés>();
            }
            if (comboBoxExp.SelectedItem != null)
            {
                Expéditeur exp = new Expéditeur();
                exp = (Expéditeur)comboBoxExp.SelectedValue;
                lesimportés = lesimportés.Where(p => p.id_expéditeur == exp.id_expéditeur).ToList<Importés>();
            }



            ImportésRecherches = lesimportés;
            mettreAjourFormGridView();
        }
        

        private void RechercherImpotésForm_Load(object sender, EventArgs e)
        {
        
        }
         public void mettreAjourFormGridView()
        {
            dataGridViewimportés.DataSource = null;
            remplirDataGridView();
            dataGridViewimportés.Update();
            dataGridViewimportés.Refresh();
        }

         private void remplirDataGridView()
         {
             dataGridViewimportés.AutoGenerateColumns = false;
             dataGridViewimportés.ColumnCount =6;
             dataGridViewimportés.Columns[0].HeaderText = "Numero Message";
             dataGridViewimportés.Columns[0].DataPropertyName = "Num_message";

             dataGridViewimportés.Columns[1].HeaderText = "Numero enregistre";
             dataGridViewimportés.Columns[1].DataPropertyName = "Num_enregistre";

             dataGridViewimportés.Columns[2].HeaderText = "Date d'envoi";
             dataGridViewimportés.Columns[2].DataPropertyName = "Date_envoi";

             dataGridViewimportés.Columns[3].HeaderText = "Date Réception";
             dataGridViewimportés.Columns[3].DataPropertyName = "Date_réception";

             dataGridViewimportés.Columns[4].HeaderText = "Objet";
             dataGridViewimportés.Columns[4].DataPropertyName = "Objet";

             dataGridViewimportés.Columns[5].HeaderText = "Expéditeur";
             dataGridViewimportés.Columns[5].DataPropertyName = "Expéditeur";

             dataGridViewimportés.DataSource = ImportésRecherches;
         }

         private void btnmodifierdossier_Click(object sender, EventArgs e)
         {
             if (dataGridViewimportés.CurrentRow == null)
             {
                 NotificationTest.NotificationManager nm = new NotificationTest.NotificationManager();
                 nm.Show(this, "Veuillez sélectionner un enregistrement pour le modifier", Color.Red, 3000);
             }
             else
             {
                 
                 RAMEDEntities1 context = SingletonContext.GetContext();

                 Importés Imp = new Importés();
                 int id_Importe = ((Importés)dataGridViewimportés.CurrentRow.DataBoundItem).Id_message_importé;
                 Imp = context.Importés.Where(d => d.Id_message_importé == id_Importe).First();
                 ModifierImportesForm MIf = new ModifierImportesForm();

                 MIf.IMP = Imp;
                 MIf.RechercheImpform = this;
                 MIf.InitialiserChamps();
                 MIf.Show();
             }
         }

         private void button3_Click(object sender, EventArgs e)
         {
             this.Dispose();
         }

         private void button1_Click(object sender, EventArgs e)
         {
             this.WindowState = FormWindowState.Minimized;
         }
    }
}
